// 上面这个代码处理过度动画（默认加上不用管）
document.addEventListener('DOMContentLoaded', () => {

  setTimeout(() => {
    document.body.classList.add('sidenav-pinned')
    document.body.classList.add('ready')
  }, 200)

})

/***************** 封装一个轻提示的函数 ********************/
function tip(msg) {
  const myToast = document.querySelector('#myToast')
  const toast = new bootstrap.Toast(myToast, { delay: 2000 })

  myToast.querySelector('.toast-body').innerHTML = msg

  toast.show()
}

/***************** 设置请求的根地址 ********************/
axios.defaults.baseURL = 'http://ajax-api.itheima.net'

/***************** 显示用户名 ********************/
const usernameBox = document.querySelector('.navbar-nav .font-weight-bold')

if (usernameBox) {
  usernameBox.innerHTML = localStorage.getItem('user-name')
}

/***************** 退出登录 ********************/
const logout = document.querySelector('#logout')

if (logout) {
  logout.addEventListener('click', function () {
    localStorage.removeItem('user-token')
    localStorage.removeItem('user-name')
    location.href = 'login.html'
  })
}

/***************** axios请求拦截器 ********************/
axios.interceptors.request.use(function (config) {

  /***************** 应用（修改config，携带token） ********************/
  const token = localStorage.getItem('user-token')
  if (token) {
    config.headers.authorization = token
  }

  return config;
}, function (error) {
  return Promise.reject(error);
});


axios.interceptors.response.use(function (response) {

  console.log('成功响应的拦截器中，response就是axios请求结果（套壳对象）', response)

  return response.data

}, function (error) {

  if (error.response.status === 401) {
    alert('token失效，清重新登录！')
    return location.href = 'login.html'
  }

  return Promise.reject(error);
});